/*
 * ArbolBPlus.h
 */
#ifndef ARBOLBPLUS_H_
#define ARBOLBPLUS_H_

#include <string>
#include "RegistroAbstracto.h"
#include "TreeFile.h"


class ArbolBPlus {
	private:
		TreeFile* _arch;

		// Referencias a los nodos principales del arbol
		//Nodo* _nodoRaiz;
		//Nodo* _nodoHoja;
	public:
		ArbolBPlus(std::string nomArch, size_t tamBloque, bool crear=true);
		~ArbolBPlus();

		// Devuelve un puntero al registro que contiene la clave buscada
		// NULL si no existe
		RegistroAbstracto* BuscarRegistro(std::string clave);

		// Agrega un registro al arbol segun su clave
		void agregarRegistro(RegistroAbstracto* reg);

		// Dada una clave elimina al registro correspondiente
		void eliminarRegistro(std::string clave);
};

#endif /* ARBOLBPLUS_H_ */
